When a host (master) device and a peripheral (slave) device are connected to each other by a USB cable, a device driver of the peripheral device is required to be installed in the host device before substantial operation starts. Usually, a device driver, which is software used for controlling a peripheral device, may be provided from an external storage or downloaded via the Internet.
Recently, there are a variety of USB devices that are functioning or operating both as a host device and as a peripheral device.